package com.zrwl.poscloud.xo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zrwl.poscloud.base.entity.*;
import com.zrwl.poscloud.base.superI.SuperService;
import com.zrwl.poscloud.xo.vo.AdminVO;
import com.zrwl.poscloud.xo.vo.DeptVO;
import com.zrwl.poscloud.xo.vo.ImportDetailVO;

import java.util.List;
import java.util.Map;

/**
 * 导入明细 服务类
 *
 * @author 刘思童 AutoGenerate
 * @date 2021-11-02
 */
public interface ImportDetailService extends SuperService<ImportDetail> {

    public IPage<ImportDetail> getPageList(ImportDetailVO importDetailVO);
    public List<ImportDetail> getAllList(ImportDetailVO importDetailVO);
    public String add(ImportDetailVO importDetailVO);
    public String edit(ImportDetailVO importDetailVO);
    public String delete(ImportDetailVO importDetailVO);
    /**
     * 下载模板数据
     * @param ImportDetailVO
     * @return
     */
    public List<ImportDetail> downloadTemplateData(ImportDetailVO ImportDetailVO);

    /**
     * 导入明细的有效性
     *
     * @param importDetailVO  导入明细
     * @param importBatch     导入批次
     * @param columnConfigMap 列配置
     * @param parseObject
     */
//    public void verifyImportDetailVO(ImportDetailVO importDetailVO, ImportBatch importBatch, Map<String, String> columnConfigMap, List<CompanyBusinessFeeConfig> parseObject) throws Exception;

    /**
     * 行号校验
     * @param batchUid
     * @param lineNumber 行号
     * @return true 不存在,false 存在
     */
    boolean lineNumberVerify(String batchUid, int lineNumber);

    ImportDetailVO singleImport(Map<String, String> columnConfigMap, List<CompanyBusinessFeeConfig> feeConfigList, List<CompanyDictData> payLevelList, List<SysDictData> cardTypeList, ImportBatch importBatch, ImportDetailVO importDetailVO, AdminVO adminVO, Map<String, Object> certCodeSuccessCertMap, Map<String, Object> employeeCodeSuccessCertMap, Map<String, DeptVO> deptRoleTreeEntity, Map<String, Object> deptSuccessCertMap);
}
